package com.woniuxy.service;

import com.nimbusds.jose.JOSEException;
import com.woniuxy.entity.DTO.ChangePasswordDTO;
import com.woniuxy.entity.DTO.CourierDTO;
import com.woniuxy.entity.DTO.DeliveryOrderDTO;
import com.woniuxy.entity.DTO.PerformanceDTO;
import com.woniuxy.util.ResponseData;

import java.util.List;

public interface CourierService {

    List<CourierDTO> queryCourierDTO();

    Integer updateCourierById(Integer id,Integer warehouseId);

    List<CourierDTO> queryCourierDTOByWarehouseId(Integer warehouseId);

    List<CourierDTO> queryRiderByName(String riderName,Integer warehouseId);

    void riderUnbind(Integer id);

    boolean queryCourierByAccount(String courierAccount);

    boolean register(CourierDTO courierDTO);

    ResponseData login(CourierDTO courierDTO) throws JOSEException;

    CourierDTO queryProfileById(Integer userId);

    boolean updatePasswordById(ChangePasswordDTO changePasswordDTO);

    List<DeliveryOrderDTO> queryAvailableOrders(Integer warehouseId);

    Integer receiveOrder(List<String> orderIds, Integer courierId);

    List<DeliveryOrderDTO> queryMyOrders(Integer courierId);

    boolean completeOrder(String orderId);

    List<PerformanceDTO> queryPerformance(Integer userId);

    List<PerformanceDTO> queryMonthPerformance(Integer userId);

    Integer insertCourierInfo(String orderId,Integer warehouseId);

    void imgLoad(Integer id,String imgSrc);
}
